home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / prog / buletq10.zip / BULLET.BI < prev    next >
Text File  |  1992-05-31  |  8KB  |  249 lines

  1. '******* BULLET-1.00-31-May-92 *******
  2. DECLARE FUNCTION BULLET% (SEG packinfo AS ANY)
  3.  
  4. CONST InitXB = 0, ExitXB = 1, AtExitXB = 2
  5. CONST MemoryXB = 3, BreakXB = 4, BackupFileXB = 5, StatHandleXB = 6
  6. CONST GetExtErrorXB = 7
  7. CONST DVmonCXB = 9
  8.  
  9. CONST CreateDXB = 10, OpenDXB = 11, CloseDXB = 12, StatDXB = 13
  10. CONST ReadDHXB = 14, FlushDHXB = 15, CopyDHXB = 16, ZapDHXB = 17
  11.  
  12. CONST CreateKXB = 20, OpenKXB = 21, CloseKXB = 22, StatKXB = 23
  13. CONST ReadKHXB = 24, FlushKHXB = 25, CopyKHXB = 26, ZapKHXB = 27
  14.  
  15. CONST GetDescriptorXB = 30, GetRecordXB = 31
  16. CONST AddRecordXB = 32, UpdateRecordXB = 33
  17. CONST DeleteRecordXB = 34, UndeleteRecordXB = 35
  18. CONST PackRecordsXB = 36
  19.  
  20. CONST FirstKeyXB = 40, EqualKeyXB = 41, NextKeyXB = 42
  21. CONST PrevKeyXB = 43, LastKeyXB = 44, StoreKeyXB = 45, DeleteKeyXB = 46
  22. CONST BuildKeyXB = 47, CurrentKeyXB = 48
  23.  
  24. CONST GetFirstXB = 60, GetEqualXB = 61, GetNextXB = 62
  25. CONST GetPrevXB = 63, GetLastXB = 64, InsertXB = 65, UpdateXB = 66
  26. CONST ReindexXB = 67
  27.  
  28. CONST LockXB = 80, UnlockXB = 81
  29. CONST LockKeyXB = 82, UnlockKeyXB = 83, LockDataXB = 84, UnlockDataXB = 85
  30. CONST DriveRemoteXB = 86, FileRemoteXB = 87, SetRetriesXB = 88
  31.  
  32. CONST DeleteFileDOS = 100, RenameFileDOS = 101, CreateFileDOS = 102
  33. CONST OpenFileDOS = 103, SeekFileDOS = 104, ReadFileDOS = 105
  34. CONST WriteFileDOS = 106, CloseFileDOS = 107
  35. CONST AccessFileDOS = 108, ExpandFileDOS = 109, MakeDirDOS = 110
  36.  
  37. CONST cUNIQUE = 1, cCHAR = 2, cINTEGER = &H10, cLONG = &H20
  38. CONST cNLS= &H4000, cSIGNED = &H8000
  39.  
  40. CONST ReadOnly = 0, WriteOnly = 1, ReadWrite = 2
  41. CONST Compat = 0
  42. CONST DenyReadWrite = &H10, DenyWrite = &H20, DenyRead = &H30, DenyNone = &H40
  43. CONST NoInherit = &H80
  44.  
  45. TYPE AccessPack         'ACCESS TO/FROM KEY/DATA FILE
  46. Func AS INTEGER         'ALSO USED FOR LOCKING FILES AT THE BYTE LEVEL
  47. Stat AS INTEGER
  48. Handle AS INTEGER       'OS handle
  49. RecNo AS LONG           'long integer record number of key/data record
  50. RecPtrOff AS INTEGER    'far pointer to record storage buffer
  51. RecPtrSeg AS INTEGER
  52. KeyPtrOff AS INTEGER    'far pointer to search key buffer
  53. KeyPtrSeg AS INTEGER
  54. NextPtrOff AS INTEGER   'far pointer to next key access pack
  55. NextPtrSeg AS INTEGER
  56. END TYPE  '22
  57.  
  58. TYPE BreakPack
  59. Func AS INTEGER
  60. Stat AS INTEGER
  61. Mode AS INTEGER         '0=disable ctrl-C/Break,1=restore
  62. END TYPE '6
  63.  
  64. TYPE CopyPack
  65. Func AS INTEGER
  66. Stat AS INTEGER
  67. Handle AS INTEGER
  68. FilenamePtrOff AS INTEGER       'far pointer to filenameZ for copy
  69. FilenamePtrSeg AS INTEGER
  70. END TYPE '10
  71.  
  72. TYPE CreateDataPack
  73. Func AS INTEGER
  74. Stat AS INTEGER
  75. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  76. FilenamePtrSeg AS INTEGER
  77. NoFields AS INTEGER
  78. FieldListPtrOff AS INTEGER      'far pointer to field list
  79. FieldListPtrSeg AS INTEGER
  80. FileID AS INTEGER
  81. END TYPE '16
  82.  
  83. TYPE CreateKeyPack
  84. Func AS INTEGER
  85. Stat AS INTEGER
  86. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  87. FilenamePtrSeg AS INTEGER
  88. KeyExpPtrOff AS INTEGER         'far pointer to key expressionZ
  89. KeyExpPtrSeg AS INTEGER
  90. XBlink AS INTEGER
  91. KeyFlags AS INTEGER
  92. CodePageID AS INTEGER
  93. CountryCode AS INTEGER
  94. CollatePtrOff AS INTEGER        'far pointer to collate table or 0:0
  95. CollatePtrSeg AS INTEGER
  96. END TYPE '24
  97.  
  98. TYPE FieldDescTYPE      'INTERNAL USE--used by DescriptorPack
  99. FieldName AS STRING * 11  '(needs to be before DescriptorPack)
  100. FieldType AS STRING * 1
  101. FieldDA AS LONG         'unused (all unused fields are reserved)
  102. FieldLength AS STRING * 1
  103. FieldDC AS STRING * 1
  104. A1 AS INTEGER           'unused
  105. A2 AS INTEGER           'unused
  106. filler AS STRING * 10   'unused
  107. END TYPE '32
  108.  
  109. TYPE DescriptorPack
  110. Func AS INTEGER
  111. Stat AS INTEGER
  112. Handle AS INTEGER
  113. FieldNumber AS INTEGER  'field number to get info on, or if 0 then
  114. FD AS FieldDescTYPE     'search for FD.FieldName
  115. END TYPE '40
  116.  
  117. TYPE DOSFilePack
  118. Func AS INTEGER
  119. Stat AS INTEGER
  120. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  121. FilenamePtrSeg AS INTEGER
  122. Handle AS INTEGER
  123. ASmode AS INTEGER
  124. Bytes AS INTEGER
  125. SeekOffset AS LONG              'also bytes to expand file by
  126. Method AS INTEGER
  127. BufferPtrOff AS INTEGER         'far pointer to read/write buffer
  128. BufferPtrSeg AS INTEGER
  129. Attr AS INTEGER
  130. NewNamePtrOff AS INTEGER        'far pointer to new filenameZ for rename
  131. NewNamePtrSeg AS INTEGER
  132. END TYPE '30
  133.  
  134. TYPE DVmonPack          'DEBUG ENGINE ONLY
  135. Func AS INTEGER
  136. Stat AS INTEGER
  137. Mode AS INTEGER         '0=off,1=on,2=put up base screen only
  138. Handle AS INTEGER       'handle to monitor
  139. VS AS INTEGER           'video buffer segment (4000 bytes at least)
  140. END TYPE '10
  141.  
  142. TYPE ExitPack
  143. Func AS INTEGER
  144. Stat AS INTEGER
  145. END TYPE '4
  146.  
  147. TYPE HandlePack
  148. Func AS INTEGER
  149. Stat AS INTEGER
  150. Handle AS INTEGER
  151. END TYPE '6
  152.  
  153. TYPE InitPack
  154. Func AS INTEGER
  155. Stat AS INTEGER
  156. JFTmode AS INTEGER
  157. DOSver AS INTEGER
  158. Version AS INTEGER
  159. ExitPtrOff AS INTEGER      'far pointer to ExitXB routine
  160. ExitPtrSeg AS INTEGER
  161. END TYPE '14
  162.  
  163. TYPE MemoryPack
  164. Func AS INTEGER
  165. Stat AS INTEGER
  166. Memory AS LONG          'largest free block of memory
  167. END TYPE '8
  168.  
  169. TYPE OpenPack
  170. Func AS INTEGER
  171. Stat AS INTEGER
  172. Handle AS INTEGER               'returned OS handle of file opened
  173. FilenamePtrOff AS INTEGER       'far pointer to filenameZ
  174. FilenamePtrSeg AS INTEGER
  175. ASmode AS INTEGER               'access-sharing mode
  176. xbHandle AS INTEGER     'if opening key file this is its related xb handle
  177. END TYPE '14
  178.  
  179. TYPE RemotePack
  180. Func AS INTEGER
  181. Stat AS INTEGER
  182. Handle AS INTEGER       'handle/drive depending on routine
  183. IsRemote AS INTEGER     '0=local,1=remote
  184. Flags AS INTEGER        'DX register as returned by DOS
  185. IsShare AS INTEGER      '0=SHARE.EXE not loaded
  186. END TYPE '12
  187.  
  188. TYPE SetRetriesPack
  189. Func AS INTEGER
  190. Stat AS INTEGER
  191. Mode AS INTEGER         '0=set DOS default else use Pauses/Retries below
  192. Pause AS INTEGER        '0-65535 loop counter between retries
  193. Retries As INTEGER      '0-65535 retries to access locked file
  194. END TYPE '10
  195.  
  196. TYPE StatDataPack
  197. Func AS INTEGER
  198. Stat AS INTEGER
  199. Handle AS INTEGER       'XB data file
  200. FileType AS STRING * 1  '1=XB data
  201. Dirty AS STRING * 1     '0=not changed
  202. Recs AS LONG            'records
  203. RecLen AS INTEGER       'record length
  204. Fields AS INTEGER       'fields per record ()
  205. f1 AS STRING * 1        'reserved (1=update DVmon)
  206. LUyear AS STRING * 1    'binary, year file last updated
  207. LUmonth AS STRING * 1   'month
  208. LUday AS STRING * 1     'day
  209. HereSeg AS INTEGER      'this file's control segment
  210. filler AS STRING * 10
  211. END TYPE '32
  212.  
  213. TYPE StatKeyPack
  214. Func AS INTEGER
  215. Stat AS INTEGER
  216. Handle AS INTEGER       'key file
  217. FileType AS STRING * 1  '0=key
  218. Dirty AS STRING * 1     '0=not changed
  219. Keys AS LONG            'keys
  220. KeyLen AS INTEGER       'key length
  221. XBlink AS INTEGER       'XB data file link
  222. XBrecno AS LONG         'record number of current key
  223. HereSeg AS INTEGER      'this file's control segment
  224. CodePageID AS INTEGER
  225. CountryCode AS INTEGER
  226. CollateTableSize AS INTEGER
  227. KeyFlags AS INTEGER
  228. filler AS STRING * 2
  229. END TYPE '32
  230.  
  231. TYPE StatHandlePack             'SHP
  232. Func AS INTEGER
  233. Stat AS INTEGER
  234. Handle AS INTEGER               'OS handle to gather stats on
  235. ID AS INTEGER                   'ID 0=key file,1=DBF data, -1 not BULLET
  236. FilenamePtrOff AS INTEGER       'far pointer to filenameZ of handle
  237. FilenamePtrSeg AS INTEGER
  238. END TYPE '12
  239.  
  240. TYPE XErrorPack                 'XEP
  241. Func AS INTEGER
  242. Stat AS INTEGER                 'extended error
  243. Class AS INTEGER                'error class
  244. Action AS INTEGER               'suggested action
  245. Location AS INTEGER             'error location
  246. END TYPE '10
  247.  
  248. '<End of BULLET.BI>
  249.